|
In mathematical optimization, Dantzig's simplex algorithm (or simplex method) is a popular algorithm for linear programming.〔Richard W. Cottle, ed. ''The Basic George B. Dantzig''. Stanford Business Books, Stanford University Press, Stanford, California, 2003. (Selected papers by George B. Dantzig)〕〔George B. Dantzig and Mukund N. Thapa. 1997. ''Linear programming 1: Introduction''. Springer-Verlag.〕〔 George B. Dantzig and Mukund N. Thapa. 2003. ''Linear Programming 2: Theory and Extensions''. Springer-Verlag.〕〔 (Invited survey, from the International Symposium on Mathematical Programming.)〕 The journal ''Computing in Science and Engineering'' listed it as one of the top 10 algorithms of the twentieth century.〔''Computing in Science and Engineering'', volume 2, no. 1, 2000 (html version )〕 The name of the algorithm is derived from the concept of a simplex and was suggested by T. S. Motzkin. Simplices are not actually used in the method, but one interpretation of it is that it operates on simplicial ''cones'', and these become proper simplices with an additional constraint. The simplicial cones in question are the corners (i.e., the neighborhoods of the vertices) of a geometric object called a polytope. The shape of this polytope is defined by the constraints applied to the objective function. == Overview == The simplex algorithm operates on linear programs in standard form: :Maximize :: :Subject to :: with the variables of the problem, are the coefficients of the objective function, ''A'' is a ''p×n'' matrix, and constants with . There is a straightforward process to convert any linear program into one in standard form so this results in no loss of generality. In geometric terms, the feasible region :: is a (possibly unbounded) convex polytope. There is a simple characterization of the extreme points or vertices of this polytope, namely is an extreme point if and only if the subset of column vectors corresponding to the nonzero entries of ''x'' () are linearly independent. In this context such a point is known as a ''basic feasible solution'' (BFS). It can be shown that for a linear program in standard form, if the objective function has a maximum value on the feasible region then it has this value on (at least) one of the extreme points. This in itself reduces the problem to a finite computation since there is a finite number of extreme points, but the number of extreme points is unmanageably large for all but the smallest linear programs. It can also be shown that if an extreme point is not a maximum point of the objective function then there is an edge containing the point so that the objective function is strictly increasing on the edge moving away from the point. If the edge is finite then the edge connects to another extreme point where the objective function has a greater value, otherwise the objective function is unbounded above on the edge and the linear program has no solution. The simplex algorithm applies this insight by walking along edges of the polytope to extreme points with greater and greater objective values. This continues until the maximum value is reached or an unbounded edge is visited, concluding that the problem has no solution. The algorithm always terminates because the number of vertices in the polytope is finite; moreover since we jump between vertices always in the same direction (that of the objective function), we hope that the number of vertices visited will be small.〔 The solution of a linear program is accomplished in two steps. In the first step, known as Phase I, a starting extreme point is found. Depending on the nature of the program this may be trivial, but in general it can be solved by applying the simplex algorithm to a modified version of the original program. The possible results of Phase I are either a basic feasible solution is found or that the feasible region is empty. In the latter case the linear program is called ''infeasible''. In the second step, Phase II, the simplex algorithm is applied using the basic feasible solution found in Phase I as a starting point. The possible results from Phase II are either an optimum basic feasible solution or an infinite edge on which the objective function is unbounded below.〔〔〔Robert J. Vanderbei, (''Linear Programming: Foundations and Extensions'' ), 3rd ed., International Series in Operations Research & Management Science, Vol. 114, Springer Verlag, 2008. ISBN 978-0-387-74387-5. 〕 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Simplex algorithm」の詳細全文を読む スポンサード リンク
|